package com.demo.supplier.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.demo.supplier.dto.LoginDto;
import com.demo.supplier.dto.UserDto;
import com.demo.supplier.entity.SysUser;
import com.demo.supplier.vo.LoginVo;
import com.demo.supplier.vo.UserVo;
import com.demo.supplier.vo.UserDetailVo;
import org.springframework.web.multipart.MultipartFile;

/**
 * 用户服务接口
 * 
 * @author demo
 */
public interface SysUserService {

    /**
     * 用户登录
     */
    LoginVo login(LoginDto loginDto);

    /**
     * 用户登出
     */
    void logout();

    /**
     * 获取当前用户信息
     */
    UserVo getCurrentUserInfo();

    /**
     * 用户分页查询
     */
    Page<UserVo> pageUsers(int current, int size, String keyword);

    /**
     * 根据ID获取用户详情（包含头像信息）
     */
    UserDetailVo getUserWithAvatar(Long userId);

    /**
     * 创建用户
     */
    void createUser(UserDto userDto);

    /**
     * 更新用户
     */
    void updateUser(UserDto userDto);

    /**
     * 删除用户
     */
    void deleteUser(Long id);

    /**
     * 根据用户名获取用户
     */
    SysUser getUserByUsername(String username);
}